package cn.jiaochengziyuan;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.Transaction;

public class KillTask implements Runnable {
    @Override
    public void run() {
        Jedis jedis=new Jedis("localhost",6379);
        jedis.auth("abc123456");
        jedis.select(1);
        // 在事务执行前若这些键被其他客户端修改（如通过SET、DEL等操作），
        // 事务将被中断，避免并发修改导致的冲突
        jedis.watch("kill_num","kill_list");
        int num=Integer.parseInt(jedis.get("kill_num"));
        if(num>0){
            // 开启事务
            Transaction transaction=jedis.multi();
            transaction.decr("kill_num");
            transaction.rpush("kill_list","9527");
            // 提交事务
            transaction.exec();
        }
        else {
            Application.pool.shutdown();
        }
        jedis.close();
    }
}
